home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Commodore Disc 2
/
Commodore_Disc_02_19xx_-_de.d64
/
sechs verliert64
(
.txt
)
< prev
next >
Wrap
Commodore BASIC
|
2022-10-26
|
6KB
|
239 lines
10 rem sechs verliert =========64
20 rem (c) commodore welt =
30 rem ============================
40 rem (p) reginald scholz =
50 rem =
60 rem =
70 rem =
80 rem c-64 + 1530/1541 =
90 rem ============================
100 poke53280,2:poke53281,2
110 wh$=chr$(5):c4$=chr$(17)
120 rn$=chr$(18):he$=chr$(19)
130 re$=chr$(28):c3$=chr$(29)
140 gr$=chr$(30):bl$=chr$(31)
150 s1$=chr$(32):bk$=chr$(144)
160 c2$=chr$(145):rf$=chr$(146)
170 cl$=chr$(147):pu$=chr$(156)
180 c1$=chr$(157):ye$=chr$(158)
190 z1$=chr$(96):z2$=chr$(98)
200 zc$=chr$(183):zd$=chr$(113)
210 forq=1to40:q1$=q1$+z1$:next
220 forq=1to13:q2$=q2$+z1$:next
230 forq=1to11:q3$=q3$+c3$:next
240 forq=1to29:s$=s$+s1$:next
250 c$=he$
260 forq=1to23:c$=c$+c4$:next
270 forq=1to5:c$=c$+c3$:next
280 forq=1to10:tt$=tt$+s1$:next
290 k$="nichts geht mehr ! "+tt$+s1$
300 ss=0:cs=0
310 gosub1240
320 printcl$bk$left$(q1$,39)
330 printye$" das superwuerfelspiel"
340 printbk$left$(q1$,39)
350 printc4$wh$" kennen sie die spielregeln bereits ?"
360 printc4$" (j/n)"
370 poke198,0:wait198,1:geta$
380 ifa$="n"thengosub2030
390 gosub1060
400 printc$;:input" ihr name bitte ";n$
410 iflen(n$)>8thenprintc2$c2$"maximal 8 buchstaben ! ":printc$s$:goto400
420 gosub1060
430 t1=0:t2=0:z1=0:z2=0
440 ff=int(rnd(1)*2+1)
450 ifff=1then600
460 printc$s$
470 printc$;"'taste' = wuerfeln "
480 poke198,0:wait198,1:geta$
490 ifa$<>" "then480
500 gosub1750:gosub1450:gosub1830
510 ifw1=6orw2=6thenprintc$s$c$k$:goto580
520 printc$;"'taste' = wuerfeln 'h' = halten"
530 poke198,0:wait198,1:geta$
540 ifa$=" "then500
550 ifa$<>"h"then530
560 printc$s$c$n$;tab(14);"haelt "z2" punkte ! "
570 t2=t2+z2:ift2>99then730
580 z2=0:gosub1610
590 fori=1to2000:next
600 ff=1:printc$s$
610 printc$"computer wuerfelt ! "tt$
620 fori=1to1000:next
630 gosub1750:gosub1450:gosub1830
640 if w1=6orw2=6thenprintc$s$c$k$:goto690
650 gosub1910
660 if jn=1then610
670 printc$s$c$;"computer haelt"z1"punkte"tt$:fori=1to2000:next
680 t1=t1+z1
690 z1=0:gosub1610
700 if t1>99then800
710 ff=2
720 goto460
730 rem ***************************
740 rem *********** spieler siegt *
750 rem ***************************
760 printc$s$c$c1$c1$c1$c1$c1$n$" hat mit"t2":"t1" gewonnen"
770 ss=ss+1
780 fori=1to3000:next
790 goto900
800 rem ***************************
810 rem ********** computer siegt *
820 rem ***************************
830 printc$s$c$c1$c1$c1$c1$c1$"computer hat mit"t1":"t2" gewonnen"
840 cs=cs+1
850 fori=1to3000:next
860 rem ***************************
870 rem ************* gesamtstand *
880 rem ***************************
890 gosub1060
900 printleft$(c$,7);
910 printtab(13);rn$ye$" gesamtstand "
920 printtab(13);rn$ye$q2$
930 printtab(13);rn$ye$tt$left$(s$,3)
940 printtab(13);rn$ye$c2$s1$n$;tab(23);str$(ss)
950 printtab(13);rn$ye$q2$
960 printtab(13);rn$ye$tt$left$(s$,3)
970 printtab(13);rn$ye$c2$" cbm-64"tab(23);str$(cs)
980 printc$s$c$" "rn$"nochmal ?"
990 poke198,0:wait198,1:geta$
1000 ifa$="j"then420
1010 ifa$<>"n"then990
1020 end
1030 rem ***************************
1040 rem ************** bildaufbau *
1050 rem ***************************
1060 printcl$:poke53280,6:poke53281,6
1070 printc4$q3$rn$wh$zc$left$(s$,16)zc$
1080 printleft$(q3$,9)rn$zc$" sechs verliert "zc$
1090 printleft$(q3$,7)rn$zc$left$(s$,24)zc$
1100 fori=1to9
1110 printtab(10);rn$z2$rf$;tab(29);rn$z2$rf$
1120 next
1130 printleft$(q3$,9)rn$left$(s$,8)" wurf total"left$(s$,2)
1140 printleft$(q3$,8)rn$left$(s$,24)
1150 printleft$(q3$,7)rn$s1$" cbm-64 0 0"left$(s$,6)
1160 printleft$(q3$,5)rn$s$s1$
1170 printleft$(q3$,3)rn$left$(s$,16)"0 0"left$(s$,10)
1180 printc3$rn$s$left$(s$,9)
1190 printc2$c2$rn$;tab(15-len(n$));n$
1200 return
1210 rem **************************
1220 rem ****** wuerfeldefinition *
1230 rem **************************
1240 dim w$(6,5)
1250 w1$=rn$+wh$+s1$+s1$+zd$+s1$+s1$
1260 w2$=rn$+wh$+zd$+left$(s$,4)
1270 w3$=rn$+wh$+zd$+left$(s$,3)+zd$
1280 w4$=rn$+wh$+zd$+s1$+zd$+s1$+zd$
1290 w5$=rn$+wh$+left$(s$,4)+zd$
1300 fori=1to6
1310 forj=1to5
1320 w$(i,j)=rn$+wh$+left$(s$,5)
1330 nextj
1340 nexti
1350 w$(1,3)=w1$
1360 w$(2,1)=w2$:w$(2,5)=w5$
1370 w$(3,1)=w2$:w$(3,3)=w1$:w$(3,5)=w5$
1380 w$(4,1)=w3$:w$(4,5)=w3$
1390 w$(5,1)=w3$:w$(5,3)=w1$:w$(5,5)=w3$
1400 w$(6,1)=w4$:w$(6,5)=w4$
1410 return
1420 rem **************************
1430 rem ******* wuerfel zeichnen *
1440 rem **************************
1450 printleft$(c$,7);
1460 fori=1to5
1470 printtab(13)left$(s$,14)
1480 next
1490 printleft$(c$,7)
1500 fori=1to5
1510 printtab(14)w$(w1,i)
1520 next
1530 printleft$(c$,7)
1540 fori=1to5
1550 printtab(21)w$(w2,i)
1560 next
1570 return
1580 rem **************************
1590 rem ************** protokoll *
1600 rem **************************
1610 ifff=2then1670
1620 z$=str$(z1):z$=right$(z$,len(z$)-1)
1630 t$=str$(t1):t$=right$(t$,len(t$)-1)
1640 printleft$(c$,17)rn$tab(16)left$(s$,17)
1650 printleft$(c$,17)rn$tab(20-len(z$));z$;tab(27-len(t$));t$
1660 goto1710
1670 z$=str$(z2):z$=right$(z$,len(z$)-1)
1680 t$=str$(t2):t$=right$(t$,len(t$)-1)
1690 printleft$(c$,19)rn$tab(16)left$(s$,17)
1700 printleft$(c$,19)rn$tab(20-len(z$));z$;tab(27-len(t$));t$
1710 return
1720 rem **************************
1730 rem *************** wuerfeln *
1740 rem **************************
1750 fori=1to20:printleft$(c$,10)tab(13)ye$"w u e r f e l n"wh$
1760 printleft$(c$,10)tab(13)left$(s$,15):next
1770 w1=int(rnd(1)*6+1)
1780 w2=int(rnd(1)*6+1)
1790 return
1800 rem **************************
1810 rem ****** protokoll fuehren *
1820 rem **************************
1830 if ff=1then1850
1840 z2=z2+w1+w2:goto1860
1850 z1=z1+w1+w2
1860 gosub1610
1870 return
1880 rem **************************
1890 rem *********** computer-zug *
1900 rem **************************
1910 ifz1>30 thenjn=2:goto1990
1920 jn=1
1930 ifrnd(1)<.1thenjn=2:goto1990
1940 ifint(rnd(1)*(t1+t2))<6thenjn=1:goto1990
1950 if t1+z1>99thenjn=2
1960 if z1>13thenjn=2
1970 ifrnd(1)<.4then1990
1980 ifz1>7andt1-t2>10thenjn=2
1990 return
2000 rem **************************
2010 rem ************* erklaerung *
2020 rem **************************
2030 printcl$bk$left$(q1$,39)
2040 printye$" spielregeln fuer das wuerfelspiel."
2050 printbk$left$(q1$,39)
2060 printc4$wh$" >> sechs verliert << wird mit zwei"
2070 printc4$" wuerfeln gespielt. sie spielen gegen"
2080 printc4$" den computer und das ziel ist es, 100"
2090 printc4$" oder mehr punkte vor dem computer zu"
2100 printc4$" erreichen. fuer einen gluecksritter "
2110 printc4$" duerfte das kein problem sein."
2120 printc4$" spielen sie vorsichtig, der computer"
2130 printc4$" hat einige tricks drauf."
2140 printc4$" "rn$" weiter mit space "
2150 poke198,0:wait198,1:geta$
2160 ifa$<>" "then2150
2170 printcl$bk$left$(q1$,39)
2180 printye$" spielregeln fuer das wuerfelspiel"
2190 printbk$left$(q1$,39)
2200 printc4$wh$" wenn sie am zug sind, koennen sie so"
2210 printc4$" oft wuerfeln wie sie wollen. dabei"
2220 printc4$" wird, wenn sie die punktzahl halten"
2230 printc4$" wollen, diese punktzahl ihrem total-"
2240 printc4$" stand zugezaehlt. sollten sie aller-"
2250 printc4$" dings eine 6 wuerfeln, so verfaellt"
2260 printc4$" die gesamte punktzahl und der c-64"
2270 printc4$" ist mit seinen versuchen dran."
2280 printc4$" "rn$" weiter mit space "
2290 poke198,0:wait198,1:geta$
2300 ifa$<>" "then2290
2310 return
2320 rem sechs verliert =======64
2330 rem 38911 bytes memory ====
2340 rem 06397 bytes program ====
2350 rem 00308 bytes variables ====
2360 rem 00135 bytes arrays ====
2370 rem 02717 bytes strings ====
2380 rem 30356 bytes free ====